EC2インスタンスとAmazon CloudFrontを連携してみた
こんにちは!イドンホです。
本記事では、EC2インスタンスとAmazon CloudFrontを連携する方法について書きました!
Amazon CloudFrontとは?
前回のブログでCloudFrontの概念と特徴について勉強した記事を書きましたので、
今回はCloudFrontを実装する方法をご紹介させていただきます
Amazon CloudFront は、ユーザーへの静的および動的なウェブコンテンツ (.html、.css、.js、イメージファイルなど) の配信を高速化するウェブサービスです。
出典:AWS公式ドキュメント Amazon CloudFront開発者ガイド
AWSから提供されているグローバルなCDNサービスで、コンテンツを素早く、セキュアにエンドユーザーに届けることができるサービスです。
利用前の事前設定
今回の記事ではCloudFrontを利用する前に、EC2インスタンスの起動が必要です。
事前準備の詳しい内容はこちらの記事をご覧ください
記事の内容に従って設定されたEC2インスタンスに接続し
$ sudo -s
# yum install httpd
# service httpd start
# vi /var/www/html/index.html
viエディタで下記のコードを作成します
<html>
<body>
<h1>Hello World!</h1>
</body>
</html>
正常的に起動することを確認できました
ログの確認ができたら、CloudFrontの設定に進みます
$ cd /var/log/httpd
$ ls
access_log error_log
$ tail -f access_log
CloudFrontの設定
CloudFrontのディストリビューション画面です
ここで「ディストリビューションを作成」ボタンを選択してください。
オリジン
Origin domainに事前設定したEC2インスタンスのパブリック IPv4 DNSを入力してください
今回はオリジンでこれ以外の設定は触りません
デフォルトのキャッシュビヘイビア
デフォルトのキャッシュビヘイビアのところでは
許可された HTTP メソッド ー GET, HEADに設定します
キャッシュキーとオリジンリクエスト
関数の関連付け - オプション
今回、このオプションは変更事項はありません
ウェブアプリケーションファイアウォール (WAF)
このオプションを有効にすることでウェブのセキュリティの脆弱性からアプリを保護できます
今回はテストのための臨時環境になりますので有効にしません
設定
今回、このオプションは変更事項はありません
設定完了
以上になります CloudFrontを作成完了してください
コンソールに表示されているCloudFrontのディストリビューションドメイン名で接続することです
設定後の違い
大きな違いはEC2インスタンスのパブリック IPv4 DNSではない
CloudFrontのディストリビューションドメイン名で接続することで
- パフォーマンス向上と遅延時間の短縮
- EC2インスタンスの負荷軽減
上記のような効果が期待できます
オプションのWAF設定を通じてDDoS防御とセキュリティの強化もできますので
皆様の状況に合うオプションを選択し、ご使用お願いいたします
アノテーション株式会社について
アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイト をぜひご覧ください